<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      // set 数据结构 不会存储重复的值
      const s1 = new Set();
      console.log(s1.size);
      const s2 = new Set(["a", "b"]);
      console.log(s2.size);
      const s3 = new Set(["a", "a", "b", "b"]);
      console.log(s3.size); // 显示数据 会过滤重复的值
      const ary = [...s3]; // 通过扩展运算符的方法 将set数据转换为了数组
      console.log(ary); // a b
      const s4 = new Set();
      // set结构中添加值 add方法
      s4.add("a").add("b"); //链式调用
      console.log(s4.size);
      // set结构中删除值 delete
      const r1 = s4.delete("a"); //这个方法的返回值是一个布尔值 表示是否删除成功
      console.log(r1);
      console.log(s4.size);
      // 判定某个值 是否是set结构的成员 has方法
      const r2 = s4.has("a"); // 返回值是一个布尔值
      console.log(r2);
      // 清空set数据结构中的值 使用clear方法
      s4.clear();
      console.log(s4.size);
      // 遍历 set数据结构
      const s5 = new Set(["a", "b", "c"]);
      s5.forEach((value) => {
        console.log(value); // forEach遍历 取到每个值
      });
    </script>
  </body>
</html>
